use ribo::utils::log;
use ribo::utils::log::tracing;
use ribo::utils::log::LogLevel;
use ribo::utils::log::{debug, error, info, warn};

fn main() {
    // Initialize logging with default configuration
    log::init_log(LogLevel::INFO);

    // Test logging
    info!("This is an info message from ribo logging example");
    debug!("This is a debug message");
    warn!("This is a warning message");
    error!("This is an error message");

    // Test with fields
    info!(target: "my_target", "Message with target");
    info!(value = 42, "Message with field");

    // Example of using custom filter
    println!("\n--- Using custom filter (only errors) ---");
    // This would typically be done before any other tracing calls
    // log::init_with_filter("error", true);
}
